%Goal: mortgage market equilibrium

%INPUTS:
%alpha: household price sensitivity
%F: total mortgage face value
%Nb: number of local banks
%No: number of non-local banks
%Nn: number of shadow banks
%qn: shadow bank mortgage quality 
%qb: bank mortgage quality
%psi: bank funding cost
%rhon: common component of shadow bank funding cost
%eta: warehouse duration
%sigma_xi: volatility of shadow bank idiosyncratic taste shock
%co: non-local bank marginal cost of warehouse lending
%cb: local bank marginal cost of warehouse lending
%shadow bank idiosyncratic taste shock



function [rno,sno] = Solve_nonlocal_financed(psim,psiw,alpha,k,Nb,Nn,Nm,qn,qb,eta,rhoo,rhob,sow,sbw,rb,rm,rnb)

MaxIterations=1000;
tol = 10^(-9);
rno_initial = 1.85;
rno = [];
diff = 1000;
iter = 0;

while diff>tol && iter<=MaxIterations  
        iter = iter+1;
        % sno_bottom: Nb warehouse bank; Nm mortgage bank; non-bank
        % financed sbank; bank-financed sbank
        sno =  exp(-alpha*rno_initial+qn)/(1+Nb*exp(-alpha*rb+qb)+Nm*exp(-alpha*rm+qb)+Nn*sow*exp(-alpha*rno_initial+qn)+Nn*sbw*Nb*exp(-alpha*rnb+qn));
        rno = eta*rhoo+k+1/(alpha*(1-sno));
        diff = abs(rno-rno_initial);
        rno_initial = rno;

end 
end

